<!DOCTYPE html>
<html>

<head>
    <!-- 浏览器对于带有type="module"的<script>，
    都是异步加载，不会造成堵塞浏览器，即等到整个页面渲染完，再执行模块脚本，
    等同于打开了<script>标签的defer属性。 -->
    <script type="module">


        // // window.document.querySelector("#mydiv").innerHTML = "123123123";
        // console.log(this); // type="module" 模块中的 this为 undefined

        // window.document.querySelector("#mydiv").innerHTML = this ? "当前es5环境" : "当前es6环境";

        // // ES6 模块与 CommonJS 模块的差异
        // // 讨论 Node.js 加载 ES6 模块之前，必须了解 ES6 模块与 CommonJS 模块完全不同。

        // // 它们有三个重大差异。

        // // CommonJS 模块输出的是一个值的拷贝，ES6 模块输出的是值的引用。
        // // CommonJS 模块是运行时加载，ES6 模块是编译时输出接口。
        // // CommonJS 模块的require()是同步加载模块，ES6 模块的import命令是异步加载，有一个独立的模块依赖的解析阶段。

       

    </script>
</head>

<body>

    <div id="mydiv"></div>

</body>

</html>